Robot and robot controller

ABSTRACT

A robot has an operation mode setting unit that sets an operation mode of the robot. The operation mode setting unit changes a correction factor multiplied by the maximum acceleration and the maximum deceleration of an arm and the servo gain of a servo circuit, and thereby selectively sets the operation mode to one of a first operation mode, a second operation mode in which the arm operates faster than in the first operation mode, and a third operation mode in which the arm vibrates less than in the first operation mode.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation patent application of U.S. application Ser. No.14/164,718, filed Jan. 27, 2014, which claims priority to JapanesePatent Application No. 2013-012949, filed Jan. 28, 2013, both of whichare expressly incorporated by reference herein in their entireties.

BACKGROUND

1. Technical Field

The present invention relates to a robot and a robot controller.

2. Related Art

Robots having rotatable arms and working with freedom inthree-dimensional spaces have been known. There has been a demand forsuch robots to operate in industrial settings at a high speed withimproved work efficiency during routine operations and, on the otherhand, to have suppressed vibrations during performance of delicate work(precise work) so the robot can perform precisely.

Accordingly, robots that may select a standard mode in which the robotoperates at a standard speed and a fast mode in which the robot operatesat a high speed as operation modes of the robot have been proposed (forexample, see Patent JP-A-4-286003. Note that, when the mode is changedbetween the standard mode and the fast mode, the servo gain of a servocircuit controlling the operation of the robot is changed.

However, in robots of the related art, it is necessary to change theservo gain in response to the attitude of the robot. To do this, it isnecessary to stop the robot, change the servo gain, and then activatethe robot again. Accordingly, there has been a problem of poor workefficiency. Further, the anticipated vibration suppression may notalways be obtained depending on the shapes and loads of the toolsattached to the robot.

SUMMARY

An advantage of some aspects of the invention is to provide a robot anda robot controller that may operate as a high-speed-specialized type, avibration-suppression-specialized type at deactivation, and a compatibletype that ensures compatibility between high-speed performance andvibration-suppression at deactivation with a single robot and are hardlyaffected by shapes and loads of tools by turning of servo gain using anangular velocity sensor.

A robot according to an aspect of the invention includes a rotatablearm, a drive source that rotates the arm, an angular velocity sensorprovided in the arm, a position sensor that detects a rotation angle ofthe drive source, a servo circuit that performs vibration suppressioncontrol based on a detection result of the angular velocity sensor, andan operation mode setting unit that sets an operation mode, wherein theoperation mode setting unit changes a correction factor multiplied bythe maximum acceleration and the maximum deceleration of the arm andservo gain of the servo circuit, and thereby, selectively sets threeoperation modes of a first operation mode, a second operation mode inwhich the arm operates faster than that in the first operation mode, anda third operation mode in which the arm vibrates less than that in thefirst operation mode.

Thereby, the single robot may operate as the high-speed-specialized typethat may shorten the time to reach a target position, thevibration-suppression-specialized type at deactivation that may reducethe vibration when the operation is stopped, and the compatible typethat ensures compatibility between high-speed performance andvibration-suppression at deactivation.

Further, the vibration of the robot in operation may be suppressed.

In the robot according to the aspect of the invention, it is preferablethat the servo circuit controls operation of the drive source based ondetection results of the angular velocity sensor and the positionsensor, in the second operation mode, the maximum acceleration of thearm is set to be 1 to 2 times that in the first operation mode, themaximum deceleration of the arm is set to be 1 to 2 times that in thefirst operation mode, the correction factor is set to be 0.5 to 2.5times that in the first operation mode, the servo gain is set to beequal to that in the first operation mode, and a cycle time as a timetaken when the arm performs a predetermined test operation is 90% orless than that in the first operation mode, and, in the third operationmode, the maximum acceleration of the arm is set to be 0.5 to 1.5 timesthat in the first operation mode, the maximum deceleration of the arm isset to be 0.5 to 1.5 times that in the first operation mode, thecorrection factor is set to be 0.5 to 1.5 times that in the firstoperation mode, the servo gain is set to be 0.5 to 1.5 times that in thefirst operation mode, and, when the arm performs predetermined testoperation and is displaced to a target position, an excessive amount ofpassage from position as an amount of shift when the arm first passesthe target position and shifts from the target position is 0.5 times orless than that in the first operation mode or 30 μm or less.

Thereby, the servo gain is equal between the second operation mode andthe first operation mode, and thus, even in the operation of the robot,the mode may be changed from the second operation mode to the firstoperation mode and from the first operation mode to the second operationmode. Thereby, the work efficiency may be improved.

In the robot according to the aspect of the invention, it is preferablethat the maximum acceleration and the maximum deceleration of the arm inthe second operation mode are respectively larger than those in thefirst operation mode.

Thereby, the time to reach the target position may be made even shorter.

In the robot according to the aspect of the invention, it is preferablethat the correction factor in the second operation mode is larger thanthat in the first operation mode.

Thereby, the time to reach the target position may be made even shorter.

In the robot according to the aspect of the invention, it is preferablethat the maximum speeds of the arm are equal between the secondoperation mode and the first operation mode.

Thereby, stable operation may be performed.

In the robot according to the aspect of the invention, it is preferablethat a robot main body having the arm, the drive source, the angularvelocity sensor, and the position sensor, a robot controller separatelyprovided from the robot main body, having the servo circuit and theoperation mode setting unit, and performing control of the robot mainbody, and a cable that connects the robot main body and the robotcontroller are provided.

Thereby, downsizing of the robot main body may be realized.

In the robot according to the aspect of the invention, it is preferablethat a robot main body having the arm, the drive source, the angularvelocity sensor, and the position sensor, and a robot controller builtin the robot main body, having the servo circuit and the operation modesetting unit, and performing control of the robot main body areprovided.

Thereby, the structure of the entire robot may be simplified.

In the robot according to the aspect of the invention, it is preferablethat the servo circuit controls the drive source by feedback of acorrection component derived from the detection results of the angularvelocity sensor and the position sensor and has a function of settingthe servo gain of the correction component to zero when the operation ofthe arm is stopped, and, in the third operation mode, when the operationof the arm is stopped, if the servo gain of the correction component isset to zero, the time to set the servo gain of the correction componentto zero is earlier than that in the first operation mode.

Thereby, the vibration when the operation is stopped may be made evensmaller.

In the robot according to the aspect of the invention, it is preferablethat an arm connected body is provided having pluralities of the armsand the drive sources and rotatably connecting the adjacent arms of theplurality of arms, and the test operation at measurement of the cycletime is to reciprocate a distal end of the arm connected body at themaximum speeds, the maximum acceleration, and the maximum decelerationof the respective arms under a condition that a weight of 2 kg is heldat the distal end of the arm connected body, and, in each of the firsthalf and the second half in the reciprocation, a rising operation ofmoving the distal end of the arm connected body by 25 mm upwardly in avertical direction, a horizontal moving operation of moving the end by300 mm in a horizontal direction, and a falling operation of moving theend by 25 mm downwardly in the vertical direction are performed, and therising operation and an initial part of the horizontal moving operationare performed at the same time and the falling operation and a terminalpart of the horizontal moving operation are performed at the same time.

By specifying the cycle time, the time to reach the target position maybe made shorter more reliably.

In the robot according to the aspect of the invention, it is preferablethat an arm connected body is provided having pluralities of the armsand the drive sources and rotatably connecting the adjacent arms of theplurality of arms, and the test operation at measurement of theexcessive amount of passage from position is to rotate the arm to 90° atthe maximum speed, the maximum acceleration, and the maximumdeceleration of the arm under a condition that a weight of 2 kg is heldat a distal end of the arm connected body.

By specifying the excessive amount of passage from position, thevibration when the operation is stopped may be reliably made smaller.

A robot controller according to an aspect of the invention is a robotcontroller that performs control of a robot main body having a rotatablearm, a drive source that rotates the arm, an angular velocity sensorprovided in the arm, and a position sensor that detects a rotation angleof the drive source, and includes a servo circuit that performsvibration suppression control based on a detection result of the angularvelocity sensor, and an operation mode setting unit that sets anoperation mode, wherein the operation mode setting unit changes acorrection factor multiplied by the maximum acceleration and the maximumdeceleration of the arm and servo gain of the servo circuit, andthereby, selectively sets three operation modes of a first operationmode, a second operation mode in which the arm operates faster than thatin the first operation mode, and a third operation mode in which the armvibrates less than that in the first operation mode.

Thereby, the single robot may operate as the high-speed-specialized typethat may shorten the time to reach a target position, thevibration-suppression-specialized type at deactivation that may reducethe vibration when the operation is stopped, and the compatible typethat ensures compatibility between high-speed performance andvibration-suppression at deactivation.

Further, the vibration of the robot in operation may be suppressed.

In the robot controller according to the aspect of the invention, it ispreferable that the servo circuit controls operation of the drive sourcebased on detection results of the angular velocity sensor and theposition sensor, in the second operation mode, the maximum accelerationof the arm is set to be 1 to 2 times that in the first operation mode,the maximum deceleration of the arm is set to be 1 to 2 times that inthe first operation mode, the correction factor is set to be 0.5 to 2.5times that in the first operation mode, the servo gain is set to beequal to that in the first operation mode, and a cycle time as a timetaken when the arm performs predetermined test operation is 90% or lessthan that in the first operation mode, and, in the third operation mode,the maximum acceleration of the arm is set to be 0.5 to 1.5 times thatin the first operation mode, the maximum deceleration of the arm is setto be 0.5 to 1.5 times that in the first operation mode, the correctionfactor is set to be 0.5 to 1.5 times that in the first operation mode,the servo gain is set to be 0.5 to 1.5 times that in the first operationmode, and, when the arm performs predetermined test operation and isdisplaced to a target position, an excessive amount of passage fromposition as an amount of shift when the arm first passes the targetposition and shifts from the target position is 0.5 times or less thanthat in the first operation mode or 30 μm or less.

Thereby, the servo gain is equal between the second operation mode andthe first operation mode, and thus, even in the operation of the robot,the mode may be changed from the second operation mode to the firstoperation mode and from the first operation mode to the second operationmode. Thereby, the work efficiency may be improved.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described with reference to theaccompanying drawings, wherein like numbers reference like elements.

FIG. 1 is a perspective view of a robot of a first embodiment of theinvention as seen from the front side.

FIG. 2 is a perspective view of the robot shown in FIG. 1 as seen fromthe rear side.

FIG. 3 is a schematic diagram of the robot shown in FIG. 1.

FIG. 4 is a schematic diagram of the robot shown in FIG. 1.

FIG. 5 is a block diagram of part of the robot shown in FIG. 1.

FIG. 6 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 7 is a diagram for explanation of a cycle time.

FIG. 8 is a diagram for explanation of an excessive amount of passagefrom position.

FIG. 9 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 10 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 11 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 12 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 13 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 14 is a block diagram of the part of the robot shown in FIG. 1.

FIG. 15 is a schematic diagram showing a robot of a second embodiment ofthe invention.

FIG. 16 is a schematic diagram of the robot shown in FIG. 15.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

A robot and a robot controller will be explained below in detailaccording to preferred embodiments shown in the accompanying drawings.

First Embodiment

FIG. 1 is a perspective view of a robot of the first embodiment of theinvention as seen from the front side. FIG. 2 is a perspective view ofthe robot shown in FIG. 1 as seen from the rear side. FIG. 3 is aschematic diagram of the robot shown in FIG. 1. FIG. 4 is a schematicdiagram of the robot shown in FIG. 1. FIG. 5 is a block diagram of apart of robot shown in FIG. 1. FIG. 6 is a block diagram of the part ofrobot shown in FIG. 1. FIG. 7 is a diagram for explanation of a cycletime. FIG. 8 is a diagram for explanation of an excessive amount ofpassage from posit ion. FIGS. 9 to 14 are respectively block diagrams ofthe part of robot shown in FIG. 1.

Note that for convenience of explanation, the upside in FIGS. 1 to 4 isreferred to as “upper” or “above” and the downside is referred to as“lower” or “below”. Further, the base side in FIGS. 1 to 4 is referredto as “proximal end” and the opposite side is referred to as “distalend”. Furthermore, in FIGS. 1 and 2, a robot controller 20 is shown byblock diagrams, respectively. In FIG. 4, rotation shafts O₂, O₃ arerespectively overdrawn. Further, in FIG. 4, angular velocity sensors 31,32 are shown outside of arms 12, 13 for making their existence clear,respectively.

A robot (industrial robot) 1 shown in FIGS. 1 to 5 may be used inmanufacturing processes of manufacturing precision equipment such aswristwatches, for example, and has a robot main body 10 and a robotcontroller 20 that controls operation of the robot main body 10 (robot1). The robot main body 10 and the robot controller 20 are electricallyconnected by a cable 18. Further, the robot controller 20 may include apersonal computer (PC) containing a CPU (Central Processing Unit) or thelike. The robot controller 20 will be described later in detail.

The robot main body 10 includes a base 11, four arms (links) 12, 13, 14,15, a wrist (link) 16, and six drive sources 401, 402, 403, 404, 405,406. The arms 12, 13, 14, 15 and the wrist 16 form part of an armconnected body. The robot 1 is a vertical articulated (six-axis) robot(robot main body) in which the base 11, the arms 12, 13, 14, 15, and thewrist 16 are connected in this order from the proximal end toward thedistal end. In the vertical articulated robot, the base 11, the arms 12to 15, and the wrist 16 may be collectively referred to as “arm”, anddivisionally, the arm 12 may be referred to as “first arm”, the arm 13as “second arm”, the arm 14 as “third arm”, the arm 15 as “fourth arm”,and the wrist 16 as “fifth arm, sixth arm”. Note that, in theembodiment, the wrist 16 has the fifth arm and the sixth arm. An endeffector or the like may be attached to the wrist 16.

The arms 12 to 15 and the wrist 16 are respectively supported to beindependently displaceable with respect to the base 11. The lengths ofthe arms 12 to 15 and the wrist 16 are respectively not particularlylimited. In the illustrated configuration, the lengths of the first arm12, the second arm 13, and the third arm 14 are set to be longer thanthose of the fourth arm 15 and the wrist 16.

The base 11 and the first arm 12 are connected via a joint 171. Further,the first arm 12 is rotatable with a first rotation shaft O₁ parallel tothe vertical direction as a rotation center around the first rotationshaft O₁ with respect to the base 11. The first rotation shaft O₁ isaligned with the normal line of the upper surface of a floor 101 as aninstallation surface of the base 11. The rotation around the firstrotation shaft O₁ is made by driving of the first drive source 401having a motor 401M. Further, the first drive source 401 is driven bythe motor 401M and a cable (not shown) and the motor 401M is controlledby the robot controller 20 via a motor driver 301 electrically connectedthereto (see FIG. 5). Note that the first drive source 401 may beadapted to transmit the drive force from the motor 401M by a reducer(not shown) provided with the motor 401M, or the reducer may be omitted.In the embodiment, the first drive source 401 has the reducer.

The first arm 12 and the second arm 13 are connected via a joint 172.Further, the second arm 13 is rotatable with a second rotation shaft O₂parallel to the horizontal direction as an axis with respect to thefirst arm 12. The second rotation shaft O₂ is orthogonal to the firstrotation shaft O₁. The rotation around the second rotation shaft O₂ ismade by driving of the second drive source 402 having a motor 402M.Further, the second drive source 402 is driven by the motor 402M and acable (not shown) and the motor 402M is controlled by the robotcontroller 20 via a motor driver 302 electrically connected thereto (seeFIG. 5). Note that the second drive source 402 may be adapted totransmit the drive force from the motor 402M by a reducer (not shown)provided with the motor 402M, or the reducer may be omitted. In theembodiment, the second drive source 402 has the reducer. Further, thesecond rotation shaft O₂ may be parallel to the axis orthogonal to thefirst rotation shaft O₁.

The second arm 13 and the third arm 14 are connected via a joint 173.Further, the third arm 14 is rotatable with a third rotation shaft O₃parallel to the horizontal direction as a rotation center around thethird rotation shaft O₃ with respect to the second arm 13. The thirdrotation shaft O₃ is parallel to the second rotation shaft O₂. Therotation around the third rotation shaft O₃ is made by driving of thethird drive source 403. Further, the third drive source 403 is driven bya motor 403M and a cable (not shown) and the motor 403M is controlled bythe robot controller 20 via a motor driver 303 electrically connectedthereto (see FIG. 5). Note that the third drive source 403 may beadapted to transmit the drive force from the motor 403M by a reducer(not shown) provided with the motor 403M, or the reducer may be omitted.In the embodiment, the third drive source 403 has the reducer.

The third arm 14 and the fourth arm 15 are connected via a joint 174.Further, the fourth arm 14 is rotatable with a fourth rotation shaft O₄parallel to the center axis direction of the third arm 14 as a rotationcenter around the fourth rotation shaft O₄ with respect to the third arm14 (base 11). The fourth rotation shaft O₄ is orthogonal to the thirdrotation shaft O₃. The rotation around the fourth rotation shaft O₄ ismade by driving of the fourth drive source 404. Further, the fourthdrive source 404 is driven by a motor 404M and a cable (not shown) andthe motor 404M is controlled by the robot controller 20 via a motordriver 304 electrically connected thereto (see FIG. 5). Note that thefourth drive source 404 may be adapted to transmit the drive force fromthe motor 404M by a reducer (not shown) provided with the motor 404M, orthe reducer may be omitted. In the embodiment, the fourth drive source404 has the reducer. The fourth rotation shaft O₄ may be parallel to theaxis orthogonal to the third rotation shaft O₃.

The fourth arm 15 and the wrist 16 are connected via a joint 175.Further, the wrist 16 is rotatable with a fifth rotation shaft O₅parallel to the horizontal direction (y-axis direction) as a rotationcenter around the fifth rotation shaft O₅ with respect to the fourth arm15. The fifth rotation shaft O₅ is orthogonal to the fourth rotationshaft O₄. The rotation around the fifth rotation shaft O₅ is made bydriving of the fifth drive source 405. Further, the fifth drive source405 is driven by a motor 405M and a cable (not shown) and the motor 405Mis controlled by the robot controller 20 via a motor driver 305electrically connected thereto (see FIG. 5). Note that the fifth drivesource 405 may be adapted to transmit the drive force from the motor405M by a reducer (not shown) provided with the motor 405M, or thereducer may be omitted. In the embodiment, the fifth drive source 405has the reducer. Further, the wrist 16 is also rotatable with a sixthrotation shaft O₆ orthogonal to the fifth rotation shaft O₆ as arotation center around the sixth rotation shaft O₆ via a joint 176. Thesixth rotation shaft O₆ is orthogonal to the fifth rotation shaft O₅.The rotation around the sixth rotation shaft O₆ is made by driving ofthe sixth drive source 406. Further, the sixth drive source 406 isdriven by a motor and a cable (not shown) and the motor 406M iscontrolled by the robot controller 20 via a motor driver 306electrically connected thereto (see FIG. 5). Note that the sixth drivesource 406 may be adapted to transmit the drive force from the motor406M by a reducer (not shown) provided with the motor 406M, or thereducer may be omitted. In the embodiment, the sixth drive source 406has the reducer. Further, the fifth rotation shaft O₅ may be parallel tothe axis orthogonal to the fourth rotation shaft O₄, and the sixthrotation shaft O₆ may be parallel to the axis orthogonal to the fifthrotation shaft O₅.

The first angular velocity sensor 31 is provided in the first arm 12.The angular velocity around the first rotation shaft O₁ of the first arm12 is detected by the first angular velocity sensor 31. The positionwhere the first angular velocity sensor 31 is provided in the first arm12 is not particularly limited, but is preferably at the distal end ofthe first arm 12. In the embodiment, the first angular velocity sensor31 is provided at the distal end inside of the first arm 12. Thevibration of the first arm 12 is the maximum in the distal end, andthereby, the vibration of the robot 1 may be suppressed more reliably.Note that the first angular velocity sensor 31 may be provided at theproximal end of the first arm 12, if desired.

Further, the second angular velocity sensor 32 is provided in the secondarm 13. The angular velocity around the second rotation shaft O₂ of thesecond arm 13 is detected by the second angular velocity sensor 32. Theposition where the second angular velocity sensor 32 is provided in thesecond arm 13 is not particularly limited, but is preferably at thedistal end of the second arm 13. In the embodiment, the second angularvelocity sensor 32 is provided at the distal end inside of the secondarm 13. The vibration of the second arm 13 is the maximum at the distalend, and thereby, the vibration of the robot 1 may be suppressed morereliably. Note that the second angular velocity sensor 32 may beprovided at the proximal end of the second arm 13, if desired.

The first angular velocity sensor 31 and the second angular velocitysensor 32 are not particularly limited, but, for example, gyro sensorsor the like may be used.

Here, in the robot 1, to suppress the vibrations of the first arm 12 andthe second arm 13, the first angular velocity sensor 31 is provided inthe first arm 12 and the operation of the first drive source 401 iscontrolled based on the detection result of the first angular velocitysensor 31, and the second angular velocity sensor 32 is provided in thesecond arm 13 and the operation of the second drive source 402 iscontrolled based on the detection result of the second angular velocitysensor 32. Thereby, the vibrations of the first arm 12 and the secondarm 13 may be reliably suppressed, and the vibration of the entire robot1 may be suppressed.

Note that major causes of the vibrations of the arms 12 to 15 and thewrist 16 of the robot 1 include distortion and deflection of thereducers and deflection of the arms 12 to 15 and the wrist 16, forexample.

In the drive sources 401 to 406, a first position sensor 411, a secondposition sensor 412, a third position sensor 413, a fourth positionsensor 414, a fifth position sensor 415, and a sixth position sensor 416are provided on their motors or reducers, respectively. These positionsensors are not particularly limited, but, for example, encoders, rotaryencoders, resolvers, potentiometers, or the like may be respectivelyused. The rotation angles of the shaft parts of the motors or thereducers of the drive sources 401 to 406 are detected by the positionsensors 411 to 416, respectively. The motors of the drive sources 401 to406 are not particularly limited, but, for example, servo motors such asAC servo motors or DC servo motors are preferably and respectively used.

As shown in FIG. 5, the robot main body 10 is electrically connected tothe robot controller 20. That is, the drive sources 401 to 406, theposition sensors 411 to 416, and the angular velocity sensors 31, 32 arerespectively electrically connected to the robot controller 20.

Further, the robot controller 20 may independently operate the arms 12to 15 and the wrist 16, i.e., may independently control the drivesources 401 to 406 via the motor drivers 301 to 306. In this case, therobot controller 20 performs detection using the position sensors 411 to416, the first angular velocity sensor 31, and the second angularvelocity sensor 32 and respectively controls driving of the drivesources 401 to 406, for example, the angular velocities, rotationangles, or the like based on the detection results. The control programis stored in advance in a memory unit 22 of the robot controller 20 (seeFIG. 6).

As shown in FIGS. 1 and 2, in the case where the robot 1 is a verticalarticulated robot, the base 11 is apart located in the lowermost part ofthe vertical articulated robot and fixed to the floor 101 of theinstallation space. The fixing method is not particularly limited, but,for example, a fixing method using a plurality of bolts 111 is used inthe embodiment shown in FIGS. 1 and 2. Note that the locations forfixing in the installation space of the base 11 may be provided not onlyon the floor but also on a wall or ceiling of the installation space.

The base 11 has a hollow base main body (housing) 112. The base mainbody 112 may be divided into a cylindrical part 113 having a cylindricalshape and a box part 114 having a box shape integrally formed in theouter periphery of the cylindrical part 113. Further, the base main body112 houses the motor 401M and the motor drivers 301 to 306, for example.

Each of the arms 12 to 15 has a hollow arm main body (casing) 2, a drivemechanism 3, and a sealing member 4. Note that for convenience ofexplanation, the arm main body 2, the drive mechanism 3, and the sealingmember 4 of the first arm 12 may be referred to as “arm main body 2 a”,“drive mechanism 3 a”, and “sealing member 4 a”, respectively, the armmain body 2, the drive mechanism 3, and the sealing member 4 of thesecond arm 13 may be referred to as “arm main body 2 b”, “drivemechanism 3 b”, and “sealing member 4 b”, respectively, the arm mainbody 2, the drive mechanism 3, and the sealing member 4 of the third arm14 may be referred to as “arm main body 2 c”, “drive mechanism 3 c”, and“sealing member 4 c”, respectively, the arm main body 2, the drivemechanism 3, and the sealing member 4 of the fourth arm 15 may bereferred to as “arm main body 2 d”, “drive mechanism 3 d”, and “sealingmember 4 d”, respectively.

Further, each of the joints 171 to 176 has a rotation support mechanism(not shown). The rotation support mechanisms include mechanisms ofsupporting one of the two arms connected to each other rotatably withrespect to the other, a mechanism of supporting one of the base 11 andthe first arm 12 connected to each other rotatably with respect to theother, and a mechanism of supporting one of the fourth arm 15 and thewrist 16 connected to each other rotatably with respect to the other. Inthe case of the fourth arm 15 and the wrist 16 connected to each otheras an example, the rotation support mechanism can rotate the wrist 16with respect to the fourth arm 15. Further, each of the rotation supportmechanisms has a reducer (not shown) that reduces the rotation speed ofthe corresponding motor at a predetermined reduction ratio and transmitsthe drive force to the corresponding arm, a wrist main body 161 of thewrist 16, and a support ring 162. Note that, as described above, in theembodiment, the drive source includes the reducer and the motor.

The first arm 12 is connected to the upper end (proximal end) of thebase 11 in an attitude tilted with respect to the horizontal direction.In the first arm 12, the drive mechanism 3 a has the motor 402M and ishoused within the arm main body 2 a. Further, the interior of the armmain body 2 a is air-tightly sealed by the sealing member 4 a.

The second arm 13 is connected to the proximal end of the first arm 12.In the second arm 13, the drive mechanism 3 b has the motor 403M and ishoused within the arm main body 2 b. Further, the interior of the armmain body 2 b is air-tightly sealed by the sealing member 4 b.

The third arm 14 is connected to the proximal end of the second arm 13.In the third arm 14, the drive mechanism 3 c has the motor 404M and ishoused within the arm main body 2 c. Further, the interior of the armmain body 2 c is air-tightly sealed by the sealing member 4 c.

The fourth arm 15 is connected to the proximal end of the third arm 14parallel to the center axis direction thereof. In the arm 15, the drivemechanism 3 d has the motors 405M, 406M and is housed within the armmain body 2 d. Further, the interior of the arm main body 2 d isair-tightly sealed by the sealing member 4 d.

The wrist 16 is connected to the proximal end (the opposite end to thebase 11) of the fourth arm 15. In the wrist 16, to the proximal end (theopposite end to the fourth arm 15) thereof, for example, a manipulator(not shown) that grasps precise equipment such as a wristwatch isdetachably attached as a functional part (end effector). Note that themanipulator is not particularly limited, but includes, for example, aconfiguration having a plurality of fingers. Further, the robot 1controls the operation of the arms 12 to 15, the wrist 16, whilegrasping the precise equipment with the manipulator, and thereby, maycarry the precise equipment.

The wrist 16 has the wrist main body (sixth arm) 161 having acylindrical shape and the support ring (fifth arm) 162 formed separatelyfrom the wrist main body 161, provided on the proximal end of the wristmain body 161, and having a ring shape.

A proximal end surface 163 of the wrist main body 161 is a flat surfaceand attachment surface to which the manipulator is attached. Further,the wrist main body 161 is connected to the drive mechanism 3 d of thefourth arm 15 via the joint 176, and rotates around the rotation shaftO₆ by driving of the motor 406M of the drive mechanism 3 d.

The support ring 162 is connected to the drive mechanism 3 d of thefourth arm 15 via the joint 175, and rotates integrally with the wristmain body 161 around the rotation shaft O₅ by driving of the motor 405Mof the drive mechanism 3 d.

The constituent material of the arm main body 2 is not particularlylimited, but, for example, various metal materials may be used. Amongthe materials, aluminum or an aluminum alloy is particularly preferable.In the case where the arm main body 2 is a cast molded using a die, diemolding may be easily performed using aluminum or an aluminum alloy forthe constituent material of the arm main body 2.

Further, the constituent material of the base main body 112 of the base11, the wrist main body 161 of the wrist 16, and the support ring 162 isnot particularly limited, but, for example, the same material as theconstituent material of the arm main body 2 or the like may berespectively used. Note that stainless steel is preferably used for theconstituent material of the wrist main body 161 of the wrist 16.

Furthermore, the constituent material of the sealing member 4 is notparticularly limited, but, for example, various resin materials orvarious metal materials may be used. Note that a resin material is usedas the constituent material of the sealing member 4, and thereby,reduction in weight may be realized.

Next, the configuration of the robot controller 20 will be explainedwith reference to FIGS. 5, 6, and 9 to 14.

As shown in FIGS. 5, 6, and 9 to 14, the robot controller 20 has a firstdrive source control unit 201 that controls the operation of the firstdrive source 401, a second drive source control unit 202 that controlsthe operation of the second drive source 402, a third drive sourcecontrol unit 203 that controls the operation of the third drive source403, a fourth drive source control unit 204 that controls the operationof the fourth drive source 404, a fifth drive source control unit 205that controls the operation of the fifth drive source 405, a sixth drivesource control unit 206 that controls the operation of the sixth drivesource 406, an operation mode setting unit 21 that sets an operationmode of the robot main body 10 (robot 1), and the memory unit 22 thatstores various kinds of information, programs, and the like. Note that,the memory unit 22 is not particularly limited, but, for example,various semiconductor memories or the like may be used.

The robot controller 20 is adapted to select and set one of threeoperation modes: “standard mode (first operation mode)”; “fast mode(second operation mode)”; and “low-vibration mode (third operationmode)” as the operation mode using the operation mode setting unit 21.The selection of the operation mode is performed by an operator using apredetermined input unit. Further, the selection of the operation modemay be determined based on predetermined information and automaticallyperformed in the robot controller 20. Note that the respective drivesource control units 201 to 206 will be explained first before theexplanation of the respective operation modes.

As shown in FIG. 9, the first drive source control unit 201 has a servocircuit that controls the operation of the first drive source 401 basedon the detection results of the first angular velocity sensor 31 and thefirst position sensor 411, i.e., a subtractor 511, a position controlpart 521, a subtracter 531, an amplifier 541, an integrator 551, anamplifier 561, a differentiator 571, an amplifier 581, anadder-subtractor 591, a torque control part 601, a band eliminationfilter 611, a conversion part 621, a rotation angle calculation part631, an angular velocity calculation part 641, a subtractor 651, ahigh-pass filter 661, an amplifier (correction value calculation part)671, and an adder 681.

The subtracter 531, the band elimination filter 611, the conversion part621, the angular velocity calculation part 641, the subtractor 651, thehigh-pass filter 661, the amplifier 671, and the adder 681 form part ofa gyro servo circuit 691 for vibration suppression control.

As shown in FIG. 10, the second drive source control unit 202 has aservo circuit that controls the operation of the second drive source 402based on the detection results of the second angular velocity sensor 32and the second position sensor 412, i.e., a subtractor 512, a positioncontrol part 522, a subtracter 532, an amplifier 542, an integrator 552,an amplifier 562, a differentiator 572, an amplifier 582, anadder-subtractor 592, a torque control part 602, a band eliminationfilter 612, a conversion part 622, a rotation angle calculation part632, an angular velocity calculation part 642, a subtractor 652, ahigh-pass filter 662, an amplifier (correction value calculation part)672, and an adder 682.

The subtracter 532, the band elimination filter 612, the conversion part622, the angular velocity calculation part 642, the subtractor 652, thehigh-pass filter 662, the amplifier 672, and the adder 682 form part ofa gyro servo circuit 692 for vibration suppression control.

As shown in FIG. 11, the third drive source control unit 203 has a servocircuit that controls the operation of the third drive source 403 basedon the detection result of the third position sensor 413, i.e., asubtractor 513, a position control part 523, a subtracter 533, anamplifier 543, an integrator 553, an amplifier 563, a differentiator573, an amplifier 583, an adder-subtractor 593, a torque control part603, a rotation angle calculation part 633, and an angular velocitycalculation part 643.

As shown in FIG. 12, the fourth drive source control unit 204 has aservo circuit that controls the operation of the fourth drive source 404based on the detection result of the fourth position sensor 414, i.e., asubtractor 514, a position control part 524, a subtracter 534, anamplifier 544, an integrator 554, an amplifier 564, a differentiator574, an amplifier 584, an adder-subtractor 594, a torque control part604, a rotation angle calculation part 634, and an angular velocitycalculation part 644.

As shown in FIG. 13, the fifth drive source control unit 205 has a servocircuit that controls the operation of the fifth drive source 405 basedon the detection result of the fifth position sensor 415, i.e., asubtractor 515, a position control part 525, a subtracter 535, anamplifier 545, an integrator 555, an amplifier 565, a differentiator575, an amplifier 585, an adder-subtractor 595, a torque control part605, a rotation angle calculation part 635, and an angular velocitycalculation part 645.

As shown in FIG. 14, the sixth drive source control unit 206 has a servocircuit that controls the operation of the sixth drive source 406 basedon the detection result of the sixth position sensor 416, i.e., asubtractor 516, a position control part 526, a subtracter 536, anamplifier 546, an integrator 556, an amplifier 566, a differentiator576, an amplifier 586, an adder-subtractor 596, a torque control part606, a rotation angle calculation part 636, and an angular velocitycalculation part 646.

Here, the robot controller 20 calculates the target position of thewrist 16 based on the processing performed by the robot 1 and generatesa trajectory for moving the wrist 16 to the target position. Then, therobot controller 20 measures the rotation angles of the respective drivesources 401 to 406 with respect to each predetermined control cycle andoutputs values calculated based on the measurement results as positioncommands Pc of the respective drive sources 401 to 406 to the drivesource control units 201 to 206 so that the wrist 16 may move along thegenerated trajectory (see FIGS. 9 to 14). Note that the phrase “valuesare input or output” is used in the specification, and the phrase meansthat “signals corresponding to the values are input or output”.

As shown in FIG. 9, not only the position command (angle command) Pc ofthe first drive source 401 is supplied to the first drive source controlunit 201, but also detection signals are respectively input from thefirst position sensor 411 and the first angular velocity sensor 31. Thefirst drive source control unit 201 drives the first drive source 401 byfeedback control using the respective detection signals so that therotation angle (position feedback value Pfb) of the first drive source401 calculated from the detection signal of the first position sensor411 may be the position command Pc and an angular velocity feedbackvalue ωfb to be described later may be an angular velocity command ωc tobe described later.

The position command Pc and the position feedback value Pfb to bedescried later are input from the rotation angle calculation part 631 tothe subtractor 511 of the first drive source control unit 201. In therotation angle calculation part 631, the pulse number input from thefirst position sensor 411 is counted and the rotation angle of the firstdrive source 401 in response to the count value is output as theposition feedback value Pfb to the subtractor 511. The subtractor 511outputs deviation of the position command Pc from the position feedbackvalue Pfb (the value obtained by subtraction of the position feedbackvalue Pfb from the target value of the rotation angle of the first drivesource 401) to the position control part 521.

The position control part 521 performs predetermined calculationprocessing using the deviation input from the subtractor 511, gain(servo gain) Kpp as a predetermined factor, and thereby, calculates thetarget value of the angular velocity of the first drive source 401 inresponse to the deviation. The position control part 521 outputs asignal representing the target value (command value) of the angularvelocity of the first drive source 401 as the angular velocity commandωc to the subtractor 531. Note that, here, as the feedback control, forexample, proportional control (P-control) is performed, but not limitedthereto.

The angular velocity command ωc and the angular velocity feedback valueωfb to be described later are input to the subtracter 531. Thesubtracter 531 respectively outputs deviation of the angular velocitycommand ωc from the angular velocity feedback value ωfb (the valueobtained by subtraction of the angular velocity feedback value ωfb fromthe target value of the rotation angle of the first drive source 401) tothe amplifier 541 and the integrator 551.

The amplifier 541 performs predetermined calculation processing usingthe deviation input from the subtractor 531, gain (proportional gain)(servo gain) Kvp as a predetermined factor, and outputs the result tothe adder-subtractor 591.

Further, the integrator 551 integrates the deviation input from thesubtractor 531, and then, the amplifier 561 performs predeterminedcalculation processing using gain (integral gain) (servo gain) Kvi as apredetermined factor and outputs the result to the adder-subtractor 591.

Furthermore, the angular velocity feedback value ωfb to be describedlater is input to the differentiator 571. The differentiator 571differentiates the angular velocity feedback value ωfb, and then, theamplifier 581 performs predetermined calculation processing using gain(differential gain) (servo gain) Kw as a predetermined factor andoutputs the result to the adder-subtractor 591.

The adder-subtractor 591 adds the input value from the amplifier 541,adds the input value from the amplifier 561, and subtracts the inputvalue from the amplifier 581, and thereby, calculates the target valueof the torque of the first drive source 401 in response to the deviationinput from the subtracter 531. The adder-subtractor 591 outputs a signalrepresenting the target value (command value) of the torque of the firstdrive source 401 as a torque command Tc to the torque control part 601.Note that, here, in the embodiment, as the feedback control, PID controlis performed, but not limited thereto.

The torque control part 601 generates and outputs a drive signal (drivecurrent) in response to the torque command Tc to the motor 401M of thefirst drive source 401 via the motor driver 301.

In this manner, the feedback control is performed so that the positionfeedback value Pfb may be equal to the position command Pc as soon aspossible and the angular velocity feedback value ωfb may be equal to theangular velocity command ωc as soon as possible, and the drive currentof the first drive source 401 is controlled.

Next, the angular velocity feedback value ωfb in the first drive sourcecontrol unit 201 will be explained.

In the angular velocity calculation part 641, an angular velocity ωm1 ofthe first drive source 401 is calculated based on the frequency of thepulse signal input from the first position sensor 411, and the angularvelocity ωm1 is respectively output to the adder 681 and the subtractor651.

Further, the angular velocity around the first rotation shaft O₁ of thefirst arm 12 is detected by the first angular velocity sensor 31. Then,in the band elimination filter 611, a frequency component of a specificfrequency range is removed from the detection signal of the firstangular velocity sensor 31, i.e., an angular velocity ωA1 around thefirst rotation shaft O₁ of the first arm 12 detected by the firstangular velocity sensor 31. Then, the angular velocity ωA1 is convertedinto an angular velocity ωAm1 of the first drive source 401corresponding to the angular velocity ωA1 using the reduction ratiobetween the motor 401M of the first drive source 401 and the first arm12, i.e., in the joint 171 or the like in the conversion part 621 andoutput to the subtractor 651.

The angular velocity ωAm1 and the angular velocity ωm1 are input to thesubtractor 651 and the subtractor 651 outputs a value ωs1 obtained bysubtraction of the angular velocity ωm1 from the angular velocity ωAm1(=ωAm1−ωm1) to the high-pass filter 661. The value ωs1 corresponds tothe vibration component of the angular velocity around the firstrotation shaft O₁ of the first arm 12 (vibration angular velocity). Inthe following, ωs1 is referred to as “vibration angular velocity”. Inthe embodiment, feedback control of multiplying the vibration angularvelocity ωs1 by gain Kgp to be described later and returning it to theinput side of the first drive source 401 is performed. Specifically, thefeedback control is performed on the first drive source 401 so that thevibration angular velocity ωs1 may be zero as soon as possible. Thereby,the vibration of the robot 1 may be suppressed. Note that, in thefeedback control, the angular velocity of the first drive source 401 iscontrolled.

The high-pass filter 661 removes the frequency components equal to orlower than a predetermined frequency from the vibration angular velocityωs1 and outputs it to the amplifier 671.

The amplifier 671 multiplies the vibration angular velocity ωs1 by gain(servo gain) Kgp as a predetermined factor, obtains a correction valueKgp·ωs1, and outputs the correction value Kgp·ωs1 to the adder 681.

The angular velocity ωm1 and the correction value Kgp·ωs1 are input tothe adder 681. The adder 681 respectively outputs an addition value ofthe angular velocity ωm1 and the correction value Kgp·ωs1 as the angularvelocity feedback value ωfb to the subtracter 531 and the differentiator571. Note that the subsequent operation is performed in the abovedescribed manner.

Further, the first drive source control unit 201 has a function ofturning the gain Kgp to zero before the first arm 12 is stopped when theoperation of the first arm 12 is stopped. The time when the gain Kgp isturned to zero is not particularly limited, but appropriately setaccording to various conditions.

As shown in FIG. 10, to the second drive source control unit 202, notonly the position command Pc of the second drive source 402 but alsodetection signals are respectively input from the second position sensor412 and the second angular velocity sensor 32. The second drive sourcecontrol unit 202 drives the second drive source 402 by feedback controlusing the respective detection signals so that the rotation angle(position feedback value Pfb) of the second drive source 402 calculatedfrom the detection signal of the second position sensor 412 may be theposition command Pc and the angular velocity feedback value ωfb to bedescribed later may be the angular velocity command ωc to be describedlater.

That is, to the subtractor 512 of the second drive source control unit202, the position command Pc is input and the position feedback valuePfb to be descried later is input from the rotation angle calculationpart 632. In the rotation angle calculation part 632, the pulse numberinput from the second position sensor 412 is counted and the rotationangle of the second drive source 402 in response to the count value isoutput as the position feedback value Pfb to the subtractor 512. Thesubtractor 512 outputs deviation of the position command Pc from theposition feedback value Pfb (the value obtained by subtraction of theposition feedback value Pfb from the target value of the rotation angleof the second drive source 402) to the position control part 522.

The position control part 522 performs predetermined calculationprocessing using the deviation input from the subtractor 512, gain(servo gain) Kpp as a predetermined factor, and thereby, calculates thetarget value of the angular velocity of the second drive source 402 inresponse to the deviation. The position control part 522 outputs asignal representing the target value (command value) of the angularvelocity of the second drive source 402 as the angular velocity commandωc to the subtractor 532. Note that, here, as the feedback control, forexample, proportional control (P-control) is performed, but not limitedthereto. Further, the gain Kpp in the second drive source control unit202 and the gain Kpp in the first drive source control unit 201 may bethe same or different.

The angular velocity command ωc and the angular velocity feedback valueωfb to be described later are input to the subtracter 532. Thesubtracter 532 respectively outputs deviation of the angular velocitycommand ωc from the angular velocity feedback value ωfb (the valueobtained by subtraction of the angular velocity feedback value ωfb fromthe target value of the rotation angle of the second drive source 402)to the amplifier 542 and the integrator 552.

The amplifier 542 performs predetermined calculation processing usingthe deviation input from the subtractor 532, gain (proportional gain)(servo gain) Kvp as a predetermined factor, and outputs the result tothe adder-subtractor 591. Note that the gain Kvp in the second drivesource control unit 202 and the gain Kvp in the first drive sourcecontrol unit 201 may be the same or different.

Further, the integrator 552 integrates the deviation input from thesubtractor 532, and then, the amplifier 562 performs predeterminedcalculation processing using gain (integral gain) (servo gain) Kvi as apredetermined factor and outputs the result to the adder-subtractor 592.Note that the gain Kvi in the second drive source control unit 202 andthe gain Kvi in the first drive source control unit 201 may be the sameor different.

Furthermore, the angular velocity feedback value ωfb to be describedlater is input to the differentiator 572. The differentiator 572differentiates the angular velocity feedback value ωfb, and then, theamplifier 582 performs predetermined calculation processing using gain(differential gain) (servo gain) Kw as a predetermined factor andoutputs the result to the adder-subtractor 592. Note that the gain Kw inthe second drive source control unit 202 and the gain Kw in the firstdrive source control unit 201 may be the same or different.

The adder-subtractor 592 adds the input value from the amplifier 542,adds the input value from the amplifier 562, and subtracts the inputvalue from the amplifier 582, and thereby, calculates the target valueof the torque of the second drive source 402 in response to thedeviation input from the subtracter 532. The adder-subtractor 592outputs a signal representing the target value (command value) of thetorque of the second drive source 402 as a torque command Tc to thetorque control part 602. Note that, here, in the embodiment, as thefeedback control, PID control is performed, but not limited thereto.

The torque control part 602 generates and outputs a drive signal (drivecurrent) in response to the torque command Tc to the motor 402M of thesecond drive source 402 via the motor driver 302.

In this manner, the feedback control is performed so that the positionfeedback value Pfb may be equal to the position command Pc as soon aspossible and the angular velocity feedback value ωfb may be equal to theangular velocity command ωc as soon as possible, and the drive currentof the second drive source 402 is controlled. Note that the secondrotation shaft O₂ is orthogonal to the first rotation shaft O₁ and notaffected by the operation and the vibration of the first arm 12, andthus, the operation of the second drive source 402 may be controlledindependently from the first drive source 401.

Next, the angular velocity feedback value ωfb in the second drive sourcecontrol unit 202 will be explained.

In the angular velocity calculation part 642, an angular velocity ωm2 ofthe second drive source 402 is calculated based on the frequency of thepulse signal input from the second position sensor 412, and the angularvelocity ωm2 is respectively output to the adder 682 and the subtractor652.

Further, the angular velocity around the second rotation shaft O₂ of thesecond arm 13 is detected by the second angular velocity sensor 32.Then, in the band elimination filter 612, a frequency component of aspecific frequency range is removed from the detection signal of thesecond angular velocity sensor 32, i.e., an angular velocity ωA2 aroundthe second rotation shaft O₂ of the second arm 13 detected by the secondangular velocity sensor 32. Then, the angular velocity ωA2 is convertedinto an angular velocity ωAm2 of the second drive source 402corresponding to the angular velocity ωA2 using the reduction ratiobetween the motor 402M of the second drive source 402 and the second arm13, i.e., in the joint 172 or the like by the conversion part 622 andoutput to the subtractor 652. Note that the second rotation shaft O₂ isorthogonal to the first rotation shaft O₁ and not affected by theoperation and the vibration of the first arm 12, and thus, the angularvelocity around the second rotation shaft O₂ of the second arm 13 may beobtained easily and reliably.

The angular velocity ωAm2 and the angular velocity ωm2 are input to thesubtractor 652 and the subtractor 652 outputs a value ωs2 obtained bysubtraction of the angular velocity ωm2 from the angular velocity ωAm2(=ωAm2−ωm2) to the high-pass filter 662. The value ωs2 corresponds tothe vibration component of the angular velocity around the secondrotation shaft O₂ of the second arm 13 (vibration angular velocity). Inthe following, ωs2 is referred to as “vibration angular velocity”. Inthe embodiment, feedback control of multiplying the vibration angularvelocity ωs2 by gain Kgp to be described later and returning it to theinput side of the second drive source 402 is performed. Specifically,the feedback control is performed on the second drive source 402 so thatthe vibration angular velocity ωs2 may be zero as soon as possible.Thereby, the vibration of the robot 1 may be suppressed. Note that, inthe feedback control, the angular velocity of the second drive source402 is controlled.

The high-pass filter 662 removes the frequency components equal to orlower than a predetermined frequency from the vibration angular velocityωs2 and outputs it to the amplifier 672.

The amplifier 672 multiplies the vibration angular velocity ωs2 by gain(servo gain) Kgp as a predetermined factor, obtains a correction valueKgp·ωs2, and outputs the correction value Kgp·ωs2 to the adder 682. Notethat the gain Kgp in the second drive source control unit 202 and thegain Kgp in the first drive source control unit 201 may be the same ordifferent.

The angular velocity ωm2 and the correction value Kgp·ωs2 are input tothe adder 682. The adder 682 respectively outputs an addition value ofthe angular velocity ωm2 and the correction value Kgp·ωs2 as the angularvelocity feedback value ωfb to the subtracter 532 and the differentiator572. Note that the subsequent operation is performed in the abovedescribed manner.

Further, the second drive source control unit 202 has a function ofturning the gain Kgp to zero before the second arm 13 is stopped whenthe operation of the second arm 13 is stopped. The time when the gainKgp is turned to zero is not particularly limited, but appropriately setaccording to various conditions.

As shown in FIG. 11, to the third drive source control unit 203, notonly the position command Pc of the third drive source 403 but also adetection signal is input from the third position sensor 413. The thirddrive source control unit 203 drives the third drive source 403 byfeedback control using the respective detection signals so that therotation angle (position feedback value Pfb) of the third drive source403 calculated from the detection signal of the third position sensor413 may be the position command Pc and the angular velocity feedbackvalue ωfb to be described later may be the angular velocity command ωcto be described later.

That is, to the subtractor 513 of the third drive source control unit203, the position command Pc is input and the position feedback valuePfb to be descried later is input from the rotation angle calculationpart 633. In the rotation angle calculation part 633, the pulse numberinput from the third position sensor 413 is counted and the rotationangle of the third drive source 403 in response to the count value isoutput as the position feedback value Pfb to the subtractor 513. Thesubtractor 513 outputs deviation of the position command Pc from theposition feedback value Pfb (the value obtained by subtraction of theposition feedback value Pfb from the target value of the rotation angleof the third drive source 403) to the position control part 523.

The position control part 523 performs predetermined calculationprocessing using the deviation input from the subtractor 513, gain(servo gain) Kpp as a predetermined factor, and thereby, calculates thetarget value of the angular velocity of the third drive source 403 inresponse to the deviation. The position control part 523 outputs asignal representing the target value (command value) of the angularvelocity of the third drive source 403 as the angular velocity commandωc to the subtractor 533. Note that, here, as the feedback control, forexample, proportional control (P-control) is performed, but not limitedthereto. Further, the gain Kpp in the third drive source control unit203 may be the same as or different from the gain Kpp in the first drivesource control unit 201 and the gain Kpp in the second drive sourcecontrol unit 202.

The angular velocity command ωc and the angular velocity feedback valueωfb to be described later are input to the subtracter 533. Thesubtracter 533 respectively outputs deviation of the angular velocitycommand ωc from the angular velocity feedback value ωfb (the valueobtained by subtraction of the angular velocity feedback value ωfb fromthe target value of the angular velocity of the third drive source 403)to the amplifier 543 and the integrator 553.

The amplifier 543 performs predetermined calculation processing usingthe deviation input from the subtractor 533, gain (proportional gain)(servo gain) Kvp as a predetermined factor, and outputs the result tothe adder-subtractor 591. Note that the gain Kvp in the third drivesource control unit 203 may be the same as or different from the gainKvp in the first drive source control unit 201 and the gain Kvp in thesecond drive source control unit 202.

Further, the integrator 553 integrates the deviation input from thesubtractor 533, and then, the amplifier 563 performs predeterminedcalculation processing using gain (integral gain) (servo gain) Kvi as apredetermined factor and outputs the result to the adder-subtractor 593.Note that the gain Kvi in the third drive source control unit 203 may bethe same as or different from the gain Kvi in the first drive sourcecontrol unit 201 and the gain Kvi in the second drive source controlunit 202.

Furthermore, the angular velocity feedback value ωfb to be describedlater is input to the differentiator 573. The differentiator 573differentiates the angular velocity feedback value ωfb, and then, theamplifier 583 performs predetermined calculation processing using gain(differential gain) (servo gain) Kw as a predetermined factor andoutputs the result to the adder-subtractor 593. Note that the gain Kw inthe third drive source control unit 203 may be the same as or differentfrom the gain Kw in the first drive source control unit 201 and the gainKw in the second drive source control unit 202.

The adder-subtractor 593 adds the input value from the amplifier 543,adds the input value from the amplifier 563, and subtracts the inputvalue from the amplifier 583, and thereby, calculates the target valueof the torque of the third drive source 403 in response to the deviationinput from the subtracter 533. The adder-subtractor 593 outputs a signalrepresenting the target value (command value) of the torque of the thirddrive source 403 as a torque command Tc to the torque control part 603.Note that, here, in the embodiment, as the feedback control, PID controlis performed, but not limited thereto.

The torque control part 603 generates and outputs a drive signal (drivecurrent) in response to the torque command Tc to the motor 403M of thethird drive source 403 via the motor driver 303.

In this manner, the feedback control is performed so that the positionfeedback value Pfb may be equal to the position command Pc as soon aspossible and the angular velocity feedback value ωfb may be equal to theangular velocity command ωc as soon as possible, and the drive currentof the third drive source 403 is controlled.

Note that the drive source control units 204 to 206 are respectively thesame as the third drive source control unit 203, and their explanationwill be omitted.

As described above, the operation mode setting unit 21 of the robotcontroller 20 selects and sets one of “standard mode (first operationmode)”, “fast mode (second operation mode)”, and “low-vibration mode(third operation mode)” as the operation mode of the robot main body 10(robot 1). Note that respective parameters set in the respectiveoperation modes are respectively stored in advance in the memory unit22, and the operation mode setting unit 21 reads necessary parametersfrom the memory unit 22 and sets the operation mode when necessary.

The fast mode is the high-speed-specialized type operation mode in whichthe time to reach the target position is shorter. Further, thelow-vibration mode is the vibration-suppression-specialized typeoperation mode at deactivation in which the vibration when the operationis stopped is smaller. Furthermore, the standard mode is the compatibletype operation mode that ensures compatibility between high-speedperformance and vibration-suppression at the deactivation. Note that, inthe fast mode, the arms 12 to 15 and the wrist 16 operate faster thanthose in the standard mode. Further, in the low-vibration mode, the arms12 to 15 and the wrist 16 vibrate less than those in the standard mode.In the following, the explanation will be made with reference to thevalues of the respective parameters in the standard mode. Further, theoperation modes of the respective arms 12 to 15 and the wrist 16 are thesame, and the operation modes of the first arm 12 will berepresentatively explained below.

First, in the standard mode, the maximum acceleration of the first arm12, the minimum deceleration of the first arm 12, the maximum speed ofthe first arm 12, and an automatic acceleration correction factor as acorrection factor respectively multiplied by the maximum accelerationand the minimum deceleration of the first arm 12 in response to theattitude of the first arm 12, and the respective gain Kpp, Kvp, Kvi, Kw,Kgp of the first drive source control unit 201 are respectively set tostandard values.

Note that the correction factor respectively multiplied by the maximumacceleration and the minimum deceleration of the first arm 12 inresponse to the attitude of the first arm 12 is, in a strict sense, aproduct of the automatic acceleration correction factor as a constantand a variable factor that changes in response to the attitude of thefirst arm 12. The variable factor is a larger value as the first arm 12is curved larger, i.e., the inertia moment is larger. Further, thecorrection factor is proportional to the automatic accelerationcorrection factor.

Next, the fast mode will be explained with reference to the standardmode.

In the fast mode, the maximum acceleration of the first arm 12 is set tobe 1 to 2 times that in the standard mode. Thereby, the time to reachthe target position may be made shorter.

In this case, it is preferable that the maximum acceleration is morethan that in the standard mode. Specifically, the maximum accelerationof the first arm 12 is preferably 1.1 to 2 times and more preferably 1.1to 1.5 times that in the standard mode. Thereby, the time to reach thetarget position may be made even shorter.

The maximum acceleration of the first arm 12 may be changed by changingthe magnitude of the drive current of the first drive source.

Further, in the fast mode, the maximum deceleration (the absolute valueof the maximum deceleration) of the first arm 12 is set to be 1 to 2times that in the standard mode. Thereby, the time to reach the targetposition may be made shorter.

In this case, it is preferable that the maximum deceleration (theabsolute value of the maximum deceleration) of the first arm 12 is morethan that in the standard mode. Specifically, the maximum decelerationof the first arm 12 is preferably 1.1 to 2 times and more preferably 1.1to 1.5 times that in the standard mode. Thereby, the time to reach thetarget position may be made even shorter.

The maximum deceleration of the first arm 12 may be changed by changingthe magnitude of the drive current of the first drive source.

Further, in the fast mode, the maximum speed of the first arm 12 may beset to a value different from that in the standard mode, however,preferably set to be equal to that in the standard mode. Thereby, stableoperation may be performed.

Furthermore, in the fast mode, the automatic acceleration correctionfactor of the first arm 12 is set to be 0.5 to 2.5 times that in thestandard mode. Thereby, the time to reach the target position may bemade shorter.

In this case, it is preferable that the automatic accelerationcorrection factor is more than that in the standard mode. Specifically,the automatic acceleration correction factor of the first arm 12 ispreferably 1.1 to 2 times and more preferably 1.1 to 1.8 times that inthe standard mode. Thereby, the time to reach the target position may bemade even shorter.

Further, in the fast mode, all of the respective gains Kpp, Kvp, Kvi,Kw, Kgp of the first drive source control unit 201 are set to be equalto those in the standard mode. Thereby, even in the operation of therobot 1, the mode may be changed from the fast mode to the standard modeand from the standard mode to the fast mode. Thereby, the workefficiency may be improved.

Furthermore, in the fast mode, the cycle time as a time taken when therobot 1 (first arm 12) performs predetermined test operation is 90% orless than that in the standard mode. Thereby, the time to reach thetarget position may be made shorter.

Note that the shorter the cycle time, the more preferable. However, inconsideration of deterioration of other characteristics, the cycle timeis preferably 1% to 90% and more preferably 5% to 80% of that in thestandard mode.

Next, the test operation at measurement of the cycle time will beexplained.

As shown in FIG. 7, the test operation at measurement of the cycle timeis to reciprocate the distal end of the wrist 16 at the maximum speeds,the maximum acceleration, and the maximum deceleration of the respectivearms 12 to 15 and the wrist 16 under the condition that a weight of 2 kgis held at the distal end of the wrist 16 (the distal end of the armconnected body) of the robot 1.

In each of the first half and the second half in the reciprocation, arising operation of moving the distal end of the wrist 160 by 25 mmupwardly in the vertical direction, a horizontal moving operation ofmoving the end by 300 mm in the horizontal direction, and a fallingoperation of moving the end by 25 mm downwardly in the verticaldirection are performed, and the rising operation and the initial partof the horizontal moving operation are performed at the same time andthe falling operation and the terminal part of the horizontal movingoperation are performed at the same time.

Next, the low-vibration mode will be explained with reference to thestandard mode.

In the low-vibration mode, the maximum acceleration of the first arm 12is set to be 0.5 to 1.5 times that in the standard mode. Thereby, thevibration when the operation is stopped may be made smaller.

In this case, it is preferable that the maximum acceleration is lessthan that in the standard mode. Specifically, the maximum accelerationof the first arm 12 is preferably 0.5 to 0.9 times and more preferably0.6 to 0.8 times that in the standard mode. Thereby, the vibration whenthe operation is stopped may be made even smaller.

Further, in the low-vibration mode, the maximum deceleration (theabsolute value of the maximum deceleration) of the first arm 12 is setto be 0.5 to 1.5 times that in the standard mode. Thereby, the vibrationwhen the operation is stopped may be made smaller.

In this case, it is preferable that the maximum deceleration (theabsolute value of the maximum deceleration) of the first arm 12 is lessthan that in the standard mode. Specifically, the maximum decelerationof the first arm 12 is preferably 0.5 to 0.9 times and more preferably0.6 to 0.8 times that in the standard mode. Thereby, the vibration whenthe operation is stopped may be made even smaller.

Further, in the low-vibration mode, the maximum speed of the first arm12 may be set to a value different from that in the standard mode,however, preferably set to be equal to that in the standard mode.Thereby, stable operation may be performed.

Furthermore, in the low-vibration mode, the automatic accelerationcorrection factor of the first arm 12 is set to be 0.5 to 1.5 times thatin the standard mode. Thereby, the vibration when the operation isstopped may be made smaller.

In this case, it is preferable that the automatic accelerationcorrection factor is more than or equal to that in the standard mode.Specifically, the automatic acceleration correction factor of the firstarm 12 is preferably 1 to 1.5 times and more preferably 1 to 1.3 timesthat in the standard mode. Thereby, the vibration when the operation isstopped may be made even smaller.

Further, in the low-vibration mode, the respective gains Kpp, Kvp, Kvi,Kw, Kgp of the first drive source control unit 201 are set to be 0.5 to1.5 times those in the standard mode. Thereby, the vibration when theoperation is stopped may be made smaller.

In this case, it is preferable that the respective gains Kpp, Kvp, Kvi,Kw, Kgp are smaller than or equal to those in the standard mode.Specifically, it is preferable that the respective gains Kpp, Kvp, Kvi,Kw, Kgp are 0.5 to 1 time those in the standard mode. Thereby, thevibration when the operation is stopped may be made even smaller.

Furthermore, in the low-vibration mode, when the operation of the firstarm 12 is stopped, if the servo gain Kgp is set to zero, the time to setthe servo gain Kgp to zero may be the same as or different from that inthe standard mode, and it is preferable that the time is earlier thanthat in the standard mode. In this case, it is preferable that the timeto set the servo gain Kgp to zero is earlier than that in the standardmode by the time of 0.1 to 1 second. Thereby, the vibration when theoperation is stopped may be made even smaller.

In addition, in the low-vibration mode, when the first arm 12 performspredetermined test operation and is displaced to the target position, anexcessive amount of passage from position as an amount of shift when thearm first passes the target position and shifts from the target positionis 0.5 times or less than that in the standard mode or 30 μm or less.Thereby, the vibration when the operation is stopped may be madesmaller.

Note that the smaller the excessive amount of passage from position, themore preferable. However, in consideration of deterioration of othercharacteristics, the amount is more preferably 0.1 to 0.5 times that inthe standard mode or 0.01 to 30 μm.

Next, the test operation at the measurement of the excessive amount ofpassage from position will be explained.

The test operation at the measurement of the excessive amount of passagefrom position of the first arm 12 is to rotate the first arm 12 to 90°at the maximum speed, the maximum acceleration, and the maximumdeceleration of the first arm 12 under the condition that a weight of 2kg is held at the distal end of the wrist 16 (the distal end of the armconnected body) of the robot 1.

The measurement of the excessive amount of passage from position of thefirst arm 12 is performed by rotating the first arm 12 to 90° from thebent state at 90°. Then, as shown in FIG. 8, the amount of shift whenthe arm first passes the target position and shifts from the targetposition (the maximum amount of shift) is measured.

Further, the measurement of the excessive amount of passage fromposition is also performed with respect to the second arm 13, the thirdarm 14, the fourth arm 15, and the wrist 16 by respectively rotatingthem to 90° from the bent states at 90° like the first arm 12.Furthermore, the measurement of the excessive amount of passage fromposition is also performed with respect to the combined operation of thefirst arm 12 and the second arm 13 by rotating the first arm 12 and thesecond arm 13 to 90° from the bent states at 90° at the same time.

As described above, the robot 1 has the three operation modes of thestandard mode, the fast mode, and the low-vibration mode, and thus, thesingle robot 1 may operate as the high-speed-specialized type that mayshorten the time to reach the target position, thevibration-suppression-specialized type at deactivation that may reducethe vibration when the operation is stopped, and the compatible typethat ensures compatibility between high-speed performance andvibration-suppression at deactivation.

Further, the respective gains Kpp, Kvp, Kvi, Kw, Kgp of the fast modeand the standard mode are equal, and thus, the mode may be changed fromthe fast mode to the standard mode and from the standard mode to thefast mode even in the operation of the robot 1. Thereby, the workefficiency may be improved.

Furthermore, the vibration of the robot 1 in the operation may bereliably suppressed.

Note that, the structure of the robot (robot main body) is not limitedto that explained in the embodiment.

For example, in the embodiment, the number of rotation shafts of therobot is six, however, the number of rotation shafts of the robotincludes, but is not limited to, one, two, three, four, five, seven, ormore.

That is, in the embodiment, the wrist has the two arms and the number ofarms of the robot is six, however, the number of arms of the robotincludes, but is not limited to, one, two, three, four, five, seven, ormore.

Further, in the embodiment, the robot is a single-arm robot having onearm connected body in which the adjacent arms of the arms are rotatablyconnected, however, the robot may be a robot having a plurality of thearm connected bodies including, but not limited to, a dual-arm robothaving two arm connected bodies in which the adjacent arms of the armsare rotatably connected.

Second Embodiment

FIG. 15 is a schematic diagram showing a robot of the second embodimentof the invention. FIG. 16 is a schematic diagram of the robot shown inFIG. 15.

In the following, the explanation of the second embodiment will becentered on the difference from the above described first embodiment andthe explanation of the same items will be omitted.

Note that for convenience of explanation, the upside in FIG. 15 isreferred to as “upper” or “above” and the downside is referred to as“lower” or “below”. Further, the base side in FIGS. 15 and 16 isreferred to as “proximal end” and the opposite side is referred to as“distal end”. Furthermore, in FIGS. 15 and 16, a robot controller 20 isshown by block diagrams, respectively. Further, in FIGS. 15 and 16, aninertia sensor 33 is shown outside of the arm 12 for making itsexistence clear.

A robot 1A of the second embodiment shown in FIGS. 15 and 16 is called ascalar robot.

A robot main body 10A of the robot 1A includes the base 11, two arms(links) 12, 13, a shaft (work shaft) 19, and four drive sources 401,402, 407, 408. The base 11, the first arm 12, the second arm 13, and theshaft 19 are connected in this order from the proximal end side to thedistal end side. Further, the shaft 19 has an attachment part 191 towhich a functional part (end effector) is detachably attached in thelower end (distal end). Note that the shaft 19 may be regarded as arms(the third and fourth arms), i.e., arms at the most distal end.

As shown in FIGS. 15 and 16, the first arm 12, the second arm 13, andthe shaft 19 are respectively supported to be independently displaceablewith respect to the base 11.

The base 11 and the first arm 12 are connected via the joint 171.Further, the first arm 12 is rotatable with the first rotation shaft O₁parallel to the vertical direction as the rotation center around thefirst rotation shaft O₁ with respect to the base 11. The first rotationshaft O₁ is aligned with the normal line of the upper surface of thefloor 101 as the installation surface of the base 11. The rotationaround the first rotation shaft O₁ is made by driving of the first drivesource 401. Further, the driving (operation) of the first drive source401 is controlled by the robot controller 20 via the motor driver 301electrically connected to the first drive source 401 via the cable 18.

The first arm 12 and the second arm 13 are connected via the joint 172.Further, the second arm 13 is rotatable with the second rotation shaftO₂ parallel to the vertical direction as the rotation center around thesecond rotation shaft O₂ with respect to the first arm 12 (base 11). Thesecond rotation shaft O₂ is parallel to the first rotation shaft O₁. Therotation around the second rotation shaft O₂ is made by driving of thesecond drive source 402. Further, the driving of the second drive source402 is controlled by the robot controller 20 via the motor driver 302electrically connected to the second drive source 402 via the cable 18.

The shaft 19 is connected to the proximal end (the opposite end to thebase 11) of the second arm 13. In this case, the shaft 19 is provided tobe rotatable with a third rotation shaft O₇ parallel to the verticaldirection as a rotation center around the third rotation shaft O₇ andmovable along the direction of the third rotation shaft O₇ with respectto the second arm 13. The third rotation shaft O₇ is aligned with thecenter axis of the shaft 19. Further, the third rotation shaft O₇ isparallel to the rotation shafts O₁, O₂. The movement of the shaft 19 inthe direction of the third rotation shaft O₇ is made by driving of thethird drive source 407 having a third motor 407M. Further, the drivingof the third drive source 407 is controlled by the robot controller 20via a motor driver (not shown) electrically connected to the third drivesource 407 via the cable 18. Further, the rotation of the shaft 19around the third rotation shaft O₇ is made by driving of the fourthdrive source 404 having a fourth motor 404M. Furthermore, the driving ofthe fourth drive source 404 is controlled by the robot controller 20 viaa motor driver (not shown) electrically connected to the fourth drivesource 404 via the cable 18. Note that the third rotation shaft O₇ maybe non-parallel to the rotation shafts O₁, O₂.

Further, like the first embodiment, an angular velocity sensor 33 isprovided in the first arm 12, and the angular velocity around the firstrotation shaft O₁ of the first arm 12 is detected by the angularvelocity sensor 33.

Note that, like the first drive source 401 and the second drive source402, a third angle sensor (not shown) is provided in the third drivesource 407 and a fourth angle sensor (not shown) is provided in thefourth drive source 408. The third drive source 407, the fourth drivesource 408, the third angle sensor, and the fourth angle sensor arehoused within the second arm 13 and electrically connected to thecontroller 20.

Further, a movement support mechanism (not shown) that movably androtatably supports the shaft 19 with respect to the second arm 13 isprovided within the second arm 13. The movement support mechanismtransmits the drive force of the third drive source 407 to the shaft 19to rotate the shaft 19 around the third rotation shaft O₇ with respectto the second arm 13, and transmits the drive force of the fourth drivesource 404 to the shaft 19 to move the shaft 19 in the direction of thethird rotation shaft O₇ with respect to the second arm 13.

A robot controller 20A has a first drive source control unit thatcontrols the operation of the first drive source 401, a second drivesource control unit that controls the operation of the second drivesource 402, a third drive source control unit that controls theoperation of the third drive source 407, a fourth drive source controlunit that controls the operation of the fourth drive source 408, theoperation mode setting unit, and the memory unit (see FIGS. 15 and 16).

The first drive source control unit is the same as the first drivesource control unit 201 of the first embodiment and the second drivesource control unit, the third drive source control unit, and the fourthdrive source control unit are respectively the same as the third drivesource control unit 203 of the first embodiment, and their explanationwill be omitted.

Note that the excessive amount of passage from position with respect tothe shaft 19 is measured not only by rotating the shaft 19 around thethird rotation shaft O₇ to 90° but also by moving the shaft 19 in thedirection of the third rotation shaft O₇. When the excessive amount ofpassage from position is measured by moving the shaft 19 in thedirection of the third rotation shaft O₇, the measurement is performedby moving the shaft 19 from the state in which the shaft 19 is locatedin the uppermost part to the lowermost part. Note that the first arm 12,the second arm 13, and the combination operation of the first arm 12 andthe second arm 13 are respectively the same as those in the firstembodiment.

According to the robot 1A, the same advantages as those of the abovedescribed first embodiment are obtained.

A robot and a robot controller have been explained with reference to theillustrated embodiments, however, the invention is not limited to thoseand the configurations of the respective parts may be replaced byarbitrary configurations having the same functions. Further, otherarbitrary configurations may be added.

Note that, an operation mode other than the standard mode, the fastmode, or the low-vibration mode may be provided.

Further, in the embodiments, the robot controller is provided separatelyfrom the robot main body, however, the robot controller may be providedin the robot main body. In this case, the robot controller may be builtin the robot main body or may be provided on the outer surface of therobot main body, for example, on the outer surface of the base or thelike.

Furthermore, the motors of the respective drive sources include not onlythe servo motors but also stepping motors or the like, for example. Inthe case where a stepping motor is used as the motor, as a positionsensor, for example, a sensor that detects the rotation angle of themotor by counting the number of drive pulses input to the stepping motormay be used.

Moreover, the systems of the respective position sensors and therespective angular velocity sensors are not particularly limited, butinclude the optical system, the magnetic system, the electromagneticsystem, and the electrical system.

In addition, the robot of the invention is not limited to the arm-typerobot (robot arm) or the scalar robot, but may be another type of robotincluding, for example, a legged walking (running) robot.

What is claimed is:
 1. A robot controller for controlling a robot, therobot having a movable arm and an angular velocity sensor provided atthe arm, the robot controller comprising: a servo circuit configured toperform vibration suppression control based on a detection result of theangular velocity sensor; and an operation mode setting unit that sets anoperation mode of the robot, the operation mode including a firstoperation mode, a second operation mode prioritizing speed; and a thirdoperation mode prioritizing vibration suppression, wherein: theoperation mode setting unit changes a correction factor multiplied by amaximum acceleration and a maximum deceleration of the arm and a servogain of the servo circuit, and selectively sets the operation mode asone of the first operation mode, the second operation mode in which thearm operates faster than in the first operation mode, and the thirdoperation mode in which the arm vibrates less than in the firstoperation mode.
 2. The robot controller according to claim 1, wherein:in the second operation mode, the maximum acceleration of the arm is setto be 1 to 2 times that in the first operation mode, the maximumdeceleration of the arm is set to be 1 to 2 times that in the firstoperation mode, the correction factor is set to be 0.5 to 2.5 times thatin the first operation mode, the servo gain is set to be equal to thatin the first operation mode, and a cycle time as a time taken when thearm performs a predetermined test operation is 90% or less than that inthe first operation mode, and in the third operation mode, the maximumacceleration of the arm is set to be 0.5 to 1.5 times that in the firstoperation mode, the maximum deceleration of the arm is set to be 0.5 to1.5 times that in the first operation mode, the correction factor is setto be 0.5 to 1.5 times that in the first operation mode, the servo gainis set to be 0.5 to 1.5 times that in the first operation mode, and,when the arm performs the predetermined test operation and is displacedto a target position, an excessive amount of passage from position as anamount of shift when the arm first passes the target position and shiftsfrom the target position is 0.5 times or less than that in the firstoperation mode or 30 μm or less.
 3. The robot controller according toclaim 1, wherein a maximum acceleration and a maximum deceleration ofthe arm in the second operation mode are respectively larger than thosein the first operation mode.
 4. The robot controller according to claim1, wherein the correction factor in the second operation mode is largerthan that in the first operation mode.
 5. The robot controller accordingto claim 1, wherein a maximum speed of the arm in the second operationmode and the first operation mode are equal.
 6. The robot controlleraccording to claim 1 wherein: the servo circuit is configured to controla drive source of the robot by feedback of a correction componentderived from the detection results of the angular velocity sensor and aposition sensor, the drive source of the robot is configured to move thearm, and the position sensor detects a rotation angle of the drivesource, the servo circuit sets the servo gain of the correctioncomponent to zero when movement of the arm is stopped, in the thirdoperation mode, when the movement of the arm is stopped and the servogain of the correction component is set to zero, a time at which theservo gain of the correction component is set to zero is earlier thanthat in the first operation mode.